package com.study.mapper.db3;

import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.github.pagehelper.Page;
import com.study.entity.db3.Account;
import com.study.entity.db3.qo.AccountQO;

@Mapper
public interface AccountMapper {

	/**
	 * 通过账号和密码查询账户信息
	 * 
	 * @param username
	 * @param password
	 * @return
	 */
	Account findAccountByLoginNameAndPassword(String username, String password);

	/**
	 * 查询账户（分页）
	 * 
	 * @param account
	 * @return
	 */
	Page<Account> queryAccounts(AccountQO account);

	/**
	 * 保存账户
	 * 
	 * @param account
	 */
	void saveAccount(Account account);

	/**
	 * 根据用户名、账户ID进行重名校验
	 * 
	 * @param paramMap
	 * @return
	 */
	int countAccounts(Map<String, Object> paramMap);

	/**
	 * 根据主键查询账户信息
	 * 
	 * @param account
	 * @return
	 */
	Account getAccountById(AccountQO account);

	/**
	 * 修改账户信息
	 * 
	 * @param account
	 */
	void updateAccount(Account account);

	/**
	 * 删除账户信息
	 * 
	 * @param paramMap
	 */
	void deleteById(Map<String, Object> paramMap);
}
